2.1 Dart compile 命令使用

编译类型

Dart compile 命令允许将 Dart 代码编译为多种类型:

子命令 输出 更多信息
exe 自包含可执行文件 一个独立的、特定架构的可执行文件,包含编译成机器码的源代码和一个小型的 Dart 运行时。
aot-snapshot AOT模块 一个特定架构的文件,包含编译成机器码的源代码,但没有Dart运行时
jit-snapshot JIT模块 一个特定架构的文件,包含所有源代码的中间表示形式,以及程序训练运行期间执行的源代码的优化表示形式。若训练数据良好,JIT编译的代码可以比 AOT 代码具有更快的峰值性能。
kernel 内核模块 源代码的可移植中间表示形式。
js JavaScript 一个可部署的 JavaScript 文件,由源代码编译而成。

实例代码

以下面的示例代码,探索 dart compile 命令的各种编译方式:

void main() {
  print('Hello World!');
}

compile exe

Compile Dart to a self-contained executable.

执行:

dart compile exe main.dart

在当前目录下生成一个 5.7MB 的可执行文件 main.exe(Linux 系统下),可直接运行。


compile aot-snapshot

Compile Dart to an AOT snapshot.

To run the snapshot use: dartaotruntime <AOT snapshot file>

执行:

dart compile aot-snapshot main.dart

在当前目录下生成一个 830.2KB 的 main.aot。使用 dartaotruntime 执行。


compile jit-snapshot

The executable will be run once to snapshot a warm JIT.

To run the snapshot use: dart run <JIT file>

dart compile jit-snapshot main.dart

在当前目录下生成一个 5.4MB 的 main.jit。使用 dart run 执行。


compile kernel

Compile Dart to a kernel snapshot.

To run the snapshot use: dart run <kernel file>

dart compile kernel main.dart

在当前目录下生成一个 472bytes 的 main.dill。


compile js

Compile Dart to JavaScript.

dart compile js main.dart

在当前目录下生成一个 99KB 的 out.js。这个 js 文件,可以直接用 node 执行。


网络资源


本文作者:Maeiee

本文链接:2.1 Dart compile 命令使用

版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!


喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!